package com.bsoft.gol.hcs.specialist.entity;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

/**
 * 检验报告记录表
 * @author lanyu
 * @date 2021年10月14日 10:04
 */
@Entity
@Table(name = "inspect_report_record")
public class InspectReportRecordEntity {
    /**
     * 检验报告id
     */
    private String inspectReportRecordId;

    /**
     * 业务系统患者档案id
     */
    private String sourcePatientId;

    /**
     * 就诊机构代码
     */
    private String visitOrganization;
    /**
     * 就诊机构名称
     */
    private String visitOrganizationName;
    /**
     * 业务类型代码 1门诊、2住院
     */
    private String businessType;
    /**
     * 业务记录号
     */
    private String businessId;
    /**
     * 患者类型代码
     */
    private String patientType;
    /**
     * 患者姓名
     */
    private String name;

    /**
     * 身份证号码
     */
    private String idCard;
    /**
     * 患者性别代码
     */
    private String sex;
    /**
     * 年龄
     */
    private String ageValue;
    /**
     * 年龄单位
     */
    private String ageUnit;
    /**
     * 就诊流水号
     */
    private String visitId;
    /**
     * 门（急）诊号
     */
    private String clinicId;
    /**
     * 住院号
     */
    private String hospizationId;
    /**
     * 检验标本号
     */
    private String sampleNo;
    /**
     * 检验报告单编号
     */
    private String reportId;
    /**
     * 检验项目名称
     */
    private String labOrderItemName;
    /**
     * 检验报告结果状态 报告状态，0无数据 1有数据 2已核对（初审） 3已取消审核 4已审核 5已报告
     */
    private String reportResultStatus;
    /**
     * 标本检验日期
     */
    private Date sampleTestTime;
    /**
     * 检验报告日期
     */
    private Date reportTime;
    /**
     * 检验申请科室
     */
    private String requestDept;
    /**
     * 申请科室名称
     */
    private String requestDeptName;
    /**
     * 检验申请医师代码
     */
    private String requestDoctorCode;
    /**
     * 检验申请医师姓名
     */
    private String requestDoctorName;
    /**
     * 检验报告科室
     */
    private String reportDept;
    /**
     * 报告审核时间
     */
    private Date reportCheckTime;
    /**
     * 审核医师签名
     */
    private String reportChecker;
    /**
     * 报告医师签名
     */
    private String reportDoctor;
    /**
     * 标本类别编码
     */
    private String sampleTypeCode;
    /**
     * 标本类别名称
     */
    private String sampleTypeName;
    /**
     * 标本状态 检验标本状态，如溶血、脂血
     */
    private String sampleState;
    /**
     * 检验报告审核意见
     */
    private String reportCheckOpinion;
    /**
     * 报告类型 1.常规报告 5.微生物报告
     */
    private String reportType;
    /**
     * 删除标志
     */
    private String deleteFlag;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 修改时间
     */
    private Date modifyTime;

    @Id
    @Column(name = "inspect_report_record_id")
    public String getInspectReportRecordId() {
        return inspectReportRecordId;
    }

    public void setInspectReportRecordId(String inspectReportRecordId) {
        this.inspectReportRecordId = inspectReportRecordId;
    }

    @Basic
    @Column(name = "source_patient_id")
    public String getSourcePatientId() {
        return sourcePatientId;
    }

    public void setSourcePatientId(String sourcePatientId) {
        this.sourcePatientId = sourcePatientId;
    }

    @Basic
    @Column(name = "visit_organization")
    public String getVisitOrganization() {
        return visitOrganization;
    }

    public void setVisitOrganization(String visitOrganization) {
        this.visitOrganization = visitOrganization;
    }

    @Basic
    @Column(name = "visit_organization_name")
    public String getVisitOrganizationName() {
        return visitOrganizationName;
    }

    public void setVisitOrganizationName(String visitOrganizationName) {
        this.visitOrganizationName = visitOrganizationName;
    }
    @Basic
    @Column(name = "business_type")
    public String getBusinessType() {
        return businessType;
    }

    public void setBusinessType(String businessType) {
        this.businessType = businessType;
    }
    @Basic
    @Column(name = "business_id")
    public String getBusinessId() {
        return businessId;
    }

    public void setBusinessId(String businessId) {
        this.businessId = businessId;
    }
    @Basic
    @Column(name = "patient_type")
    public String getPatientType() {
        return patientType;
    }

    public void setPatientType(String patientType) {
        this.patientType = patientType;
    }

    @Basic
    @Column(name = "name")
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Basic
    @Column(name = "id_card")
    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    @Basic
    @Column(name = "sex")
    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    @Basic
    @Column(name = "age_value")
    public String getAgeValue() {
        return ageValue;
    }

    public void setAgeValue(String ageValue) {
        this.ageValue = ageValue;
    }

    @Basic
    @Column(name = "age_unit")
    public String getAgeUnit() {
        return ageUnit;
    }

    public void setAgeUnit(String ageUnit) {
        this.ageUnit = ageUnit;
    }

    @Basic
    @Column(name = "visit_id")
    public String getVisitId() {
        return visitId;
    }

    public void setVisitId(String visitId) {
        this.visitId = visitId;
    }

    @Basic
    @Column(name = "clinic_id")
    public String getClinicId() {
        return clinicId;
    }

    public void setClinicId(String clinicId) {
        this.clinicId = clinicId;
    }

    @Basic
    @Column(name = "hospization_id")
    public String getHospizationId() {
        return hospizationId;
    }

    public void setHospizationId(String hospizationId) {
        this.hospizationId = hospizationId;
    }

    @Basic
    @Column(name = "sample_no")
    public String getSampleNo() {
        return sampleNo;
    }

    public void setSampleNo(String sampleNo) {
        this.sampleNo = sampleNo;
    }

    @Basic
    @Column(name = "report_id")
    public String getReportId() {
        return reportId;
    }

    public void setReportId(String reportId) {
        this.reportId = reportId;
    }

    @Basic
    @Column(name = "lab_order_item_name")
    public String getLabOrderItemName() {
        return labOrderItemName;
    }

    public void setLabOrderItemName(String labOrderItemName) {
        this.labOrderItemName = labOrderItemName;
    }

    @Basic
    @Column(name = "report_result_status")
    public String getReportResultStatus() {
        return reportResultStatus;
    }

    public void setReportResultStatus(String reportResultStatus) {
        this.reportResultStatus = reportResultStatus;
    }

    @Basic
    @Column(name = "sample_test_time")
    public Date getSampleTestTime() {
        return sampleTestTime;
    }

    public void setSampleTestTime(Date sampleTestTime) {
        this.sampleTestTime = sampleTestTime;
    }

    @Basic
    @Column(name = "report_time")
    public Date getReportTime() {
        return reportTime;
    }

    public void setReportTime(Date reportTime) {
        this.reportTime = reportTime;
    }

    @Basic
    @Column(name = "request_dept")
    public String getRequestDept() {
        return requestDept;
    }

    public void setRequestDept(String requestDept) {
        this.requestDept = requestDept;
    }

    @Basic
    @Column(name = "request_dept_name")
    public String getRequestDeptName() {
        return requestDeptName;
    }

    public void setRequestDeptName(String requestDeptName) {
        this.requestDeptName = requestDeptName;
    }

    @Basic
    @Column(name = "request_doctor_code")
    public String getRequestDoctorCode() {
        return requestDoctorCode;
    }

    public void setRequestDoctorCode(String requestDoctorCode) {
        this.requestDoctorCode = requestDoctorCode;
    }

    @Basic
    @Column(name = "request_doctor_name")
    public String getRequestDoctorName() {
        return requestDoctorName;
    }

    public void setRequestDoctorName(String requestDoctorName) {
        this.requestDoctorName = requestDoctorName;
    }

    @Basic
    @Column(name = "report_dept")
    public String getReportDept() {
        return reportDept;
    }

    public void setReportDept(String reportDept) {
        this.reportDept = reportDept;
    }

    @Basic
    @Column(name = "report_check_time")
    public Date getReportCheckTime() {
        return reportCheckTime;
    }

    public void setReportCheckTime(Date reportCheckTime) {
        this.reportCheckTime = reportCheckTime;
    }

    @Basic
    @Column(name = "report_checker")
    public String getReportChecker() {
        return reportChecker;
    }

    public void setReportChecker(String reportChecker) {
        this.reportChecker = reportChecker;
    }

    @Basic
    @Column(name = "report_doctor")
    public String getReportDoctor() {
        return reportDoctor;
    }

    public void setReportDoctor(String reportDoctor) {
        this.reportDoctor = reportDoctor;
    }

    @Basic
    @Column(name = "sample_type_code")
    public String getSampleTypeCode() {
        return sampleTypeCode;
    }

    public void setSampleTypeCode(String sampleTypeCode) {
        this.sampleTypeCode = sampleTypeCode;
    }

    @Basic
    @Column(name = "sample_type_name")
    public String getSampleTypeName() {
        return sampleTypeName;
    }

    public void setSampleTypeName(String sampleTypeName) {
        this.sampleTypeName = sampleTypeName;
    }

    @Basic
    @Column(name = "sample_state")
    public String getSampleState() {
        return sampleState;
    }

    public void setSampleState(String sampleState) {
        this.sampleState = sampleState;
    }

    @Basic
    @Column(name = "report_check_opinion")
    public String getReportCheckOpinion() {
        return reportCheckOpinion;
    }

    public void setReportCheckOpinion(String reportCheckOpinion) {
        this.reportCheckOpinion = reportCheckOpinion;
    }

    @Basic
    @Column(name = "report_type")
    public String getReportType() {
        return reportType;
    }

    public void setReportType(String reportType) {
        this.reportType = reportType;
    }

    @Basic
    @Column(name = "delete_flag")
    public String getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(String deleteFlag) {
        this.deleteFlag = deleteFlag;
    }
    @Basic
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "modify_time")
    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        InspectReportRecordEntity that = (InspectReportRecordEntity) o;
        return Objects.equals(inspectReportRecordId, that.inspectReportRecordId) && Objects.equals(visitOrganization, that.visitOrganization) && Objects.equals(visitOrganizationName, that.visitOrganizationName) && Objects.equals(patientType, that.patientType) && Objects.equals(name, that.name) && Objects.equals(sex, that.sex) && Objects.equals(ageValue, that.ageValue) && Objects.equals(ageUnit, that.ageUnit) && Objects.equals(visitId, that.visitId) && Objects.equals(clinicId, that.clinicId) && Objects.equals(hospizationId, that.hospizationId) && Objects.equals(sampleNo, that.sampleNo) && Objects.equals(reportId, that.reportId) && Objects.equals(labOrderItemName, that.labOrderItemName) && Objects.equals(reportResultStatus, that.reportResultStatus) && Objects.equals(sampleTestTime, that.sampleTestTime) && Objects.equals(reportTime, that.reportTime) && Objects.equals(requestDept, that.requestDept) && Objects.equals(requestDeptName, that.requestDeptName) && Objects.equals(requestDoctorCode, that.requestDoctorCode) && Objects.equals(requestDoctorName, that.requestDoctorName) && Objects.equals(reportDept, that.reportDept) && Objects.equals(reportCheckTime, that.reportCheckTime) && Objects.equals(reportChecker, that.reportChecker) && Objects.equals(reportDoctor, that.reportDoctor) && Objects.equals(sampleTypeName, that.sampleTypeName) && Objects.equals(sampleState, that.sampleState) && Objects.equals(reportCheckOpinion, that.reportCheckOpinion) && Objects.equals(reportType, that.reportType) && Objects.equals(createTime, that.createTime) && Objects.equals(modifyTime, that.modifyTime);
    }

    @Override
    public int hashCode() {
        return Objects.hash(inspectReportRecordId, visitOrganization, visitOrganizationName, patientType, name, sex, ageValue, ageUnit, visitId, clinicId, hospizationId, sampleNo, reportId, labOrderItemName, reportResultStatus, sampleTestTime, reportTime, requestDept, requestDeptName, requestDoctorCode, requestDoctorName, reportDept, reportCheckTime, reportChecker, reportDoctor, sampleTypeName, sampleState, reportCheckOpinion, reportType, createTime, modifyTime);
    }
}
